mehdimiah_
07/29/2024, 10:21 AMmehdimiah_
07/29/2024, 10:39 AMMatt Wise
07/29/2024, 10:47 AMMatt Wise
07/29/2024, 10:48 AMrickbutterfield
07/29/2024, 10:51 AMmehdimiah_
07/29/2024, 10:52 AMmehdimiah_
07/29/2024, 10:55 AMrickbutterfield
07/29/2024, 10:57 AMblockEditorCustomView
extension slot, you wouldn't have control over whether it appears in Block Grid or Block List, or which doctype it appears againstrickbutterfield
07/29/2024, 11:00 AMmehdimiah_
07/29/2024, 11:00 AMmehdimiah_
07/29/2024, 11:00 AMrickbutterfield
07/29/2024, 11:00 AMrickbutterfield
07/29/2024, 11:01 AMmehdimiah_
07/29/2024, 11:02 AMrickbutterfield
07/29/2024, 11:02 AMrickbutterfield
07/29/2024, 11:03 AMDean Leigh
07/29/2024, 11:12 AMmehdimiah_
07/29/2024, 11:31 AMmehdimiah_
07/29/2024, 11:33 AMKaspar Boel Kjeldsen
07/29/2024, 11:57 AMmehdimiah_
07/29/2024, 12:00 PMKaspar Boel Kjeldsen
07/29/2024, 12:02 PMKaspar Boel Kjeldsen
07/29/2024, 12:02 PMmehdimiah_
07/29/2024, 1:50 PMKaspar Boel Kjeldsen
07/29/2024, 2:03 PMKaspar Boel Kjeldsen
07/29/2024, 2:04 PMmehdimiah_
07/29/2024, 2:04 PMmehdimiah_
07/29/2024, 2:04 PMKaspar Boel Kjeldsen
07/29/2024, 2:05 PMKaspar Boel Kjeldsen
07/29/2024, 2:05 PMKaspar Boel Kjeldsen
07/29/2024, 2:06 PMmehdimiah_
07/29/2024, 2:07 PMKaspar Boel Kjeldsen
07/29/2024, 2:08 PMmehdimiah_
07/29/2024, 2:08 PMKaspar Boel Kjeldsen
07/29/2024, 2:09 PMKaspar Boel Kjeldsen
07/29/2024, 2:09 PMKaspar Boel Kjeldsen
07/29/2024, 2:10 PMcsharp
@using Umbraco.Cms.Core.Models.Blocks
@using Umbraco.Cms.Web.Common.PublishedModels;
@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage<BlockGridItem<Paragraph>>
<div>
@Model.Content.Text
</div>
so it can map your model on to itmehdimiah_
07/29/2024, 2:10 PMmehdimiah_
07/29/2024, 2:10 PMmehdimiah_
07/29/2024, 2:26 PMKaspar Boel Kjeldsen
07/29/2024, 2:26 PMKaspar Boel Kjeldsen
07/29/2024, 2:27 PMmehdimiah_
07/29/2024, 2:30 PMmehdimiah_
07/29/2024, 2:31 PMKaspar Boel Kjeldsen
07/29/2024, 2:32 PMmehdimiah_
07/29/2024, 2:36 PMKaspar Boel Kjeldsen
07/29/2024, 2:37 PMKaspar Boel Kjeldsen
07/29/2024, 2:38 PMhuwred
07/29/2024, 2:58 PMmehdimiah_
07/29/2024, 3:04 PMmehdimiah_
07/29/2024, 3:50 PMhuwred
07/29/2024, 4:44 PMKaspar Boel Kjeldsen
07/29/2024, 5:26 PMhuwred
07/29/2024, 5:31 PMKaspar Boel Kjeldsen
07/30/2024, 7:00 AMKaspar Boel Kjeldsen
07/30/2024, 7:01 AMhuwred
07/30/2024, 7:16 AMKaspar Boel Kjeldsen
07/30/2024, 7:23 AMhuwred
07/30/2024, 7:39 AMKaspar Boel Kjeldsen
07/30/2024, 7:42 AMhuwred
07/30/2024, 8:04 AMKaspar Boel Kjeldsen
07/30/2024, 8:05 AMhuwred
07/30/2024, 8:11 AMhuwred
07/30/2024, 8:15 AMKaspar Boel Kjeldsen
07/30/2024, 8:19 AMKaspar Boel Kjeldsen
07/30/2024, 8:20 AMhuwred
07/30/2024, 8:22 AM@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage<Umbraco.Cms.Core.Models.Blocks.BlockGridItem<RichTextBlock,SectionSettings>>
@using ContentModels = Umbraco.Cms.Web.Common.PublishedModels
@{
string cssClass = "";
if (Model.Settings != null && Model.Settings.HasValue("sectionClass"))
{
cssClass = Model.Settings.Value<string>("sectionClass");
}
}
@if (ViewBag.blockPreview != null)
{
<p style="color:red">I am only visible in backoffice and this is my id @ViewBag.assignedContentId</p>
}
<div class="rich-text @cssClass">@Model.Content.RichText</div>
Kaspar Boel Kjeldsen
07/30/2024, 8:24 AMhuwred
07/30/2024, 8:25 AMhuwred
07/30/2024, 8:29 AMKaspar Boel Kjeldsen
07/30/2024, 9:02 AMKaspar Boel Kjeldsen
07/30/2024, 11:02 AMmehdimiah_
07/30/2024, 11:11 AMKaspar Boel Kjeldsen
07/30/2024, 11:11 AMhuwred
07/30/2024, 11:20 AMhuwred
07/30/2024, 11:21 AMKaspar Boel Kjeldsen
07/30/2024, 11:45 AMKaspar Boel Kjeldsen
07/30/2024, 11:46 AMhuwred
07/30/2024, 12:06 PMKaspar Boel Kjeldsen
07/30/2024, 12:24 PMDean Leigh
07/30/2024, 12:42 PMKaspar Boel Kjeldsen
07/30/2024, 12:50 PMKaspar Boel Kjeldsen
07/30/2024, 12:50 PMDean Leigh
07/30/2024, 12:57 PMhuwred
07/30/2024, 1:08 PMrickbutterfield
07/30/2024, 1:12 PM<umb-block-grid-areas-container slot="areas"></umb-block-grid-areas-container>
should then just be a normal Umbraco rendering which uses whatever custom view is specified, I think. Let me double check if I had to change anything thererickbutterfield
07/30/2024, 1:13 PMrickbutterfield
07/30/2024, 1:20 PMhuwred
07/30/2024, 3:02 PMDean Leigh
07/30/2024, 3:10 PMmehdimiah_
07/30/2024, 3:11 PMDean Leigh
07/30/2024, 3:15 PMKaspar Boel Kjeldsen
07/31/2024, 9:22 AMhuwred
07/31/2024, 9:26 AMhuwred
07/31/2024, 9:28 AMtype: "document" is not a valid UDI
Kaspar Boel Kjeldsen
07/31/2024, 9:45 AMjson
"contentData":[
{
"contentTypeKey":"7515a4bb-4fda-4d3e-b8aa-e7e8e5886f55",
"udi":"umb://element/2909a8f8b97547759bf53e5821be1fd1",
"picker":[
{
"type":"document",
"unique":"ffa80e93-eaa0-4f39-8b13-e2da8bfb3aff"
}
]
}
],
Kaspar Boel Kjeldsen
07/31/2024, 9:45 AMKaspar Boel Kjeldsen
07/31/2024, 9:46 AMjson
"contentData":[
{
"contentTypeKey":"7515a4bb-4fda-4d3e-b8aa-e7e8e5886f55",
"udi":"umb://element/2909a8f8b97547759bf53e5821be1fd1",
"picker":"umb://document/ffa80e93eaa04f398b13e2da8bfb3aff"
}
],
and this is what umbraco expectsKaspar Boel Kjeldsen
07/31/2024, 9:46 AMKaspar Boel Kjeldsen
07/31/2024, 10:21 AMjson
"Knowit.Umbraco.InstantBlockPreview": {
"areaReplace": true
}
And it requires you insert "@ViewBag.renderGridAreaSlots" in your Area-views where you want the area to be rendered
razor
@using Umbraco.Extensions
@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage<Umbraco.Cms.Core.Models.Blocks.BlockGridItem>
<div>
@await Html.GetBlockGridItemAreasHtmlAsync(Model)
@ViewBag.renderGridAreaSlots
</div>
Works with content picker
Tested with this
dotnet new install Umbraco.Templates::14.1.1 --force
# Create solution/project
dotnet new sln --name "MySolution"
dotnet new umbraco --force -n "MyProject" --friendly-name "Administrator" --email "admin@example.com" --password "1234567890" --development-database-type SQLite
dotnet sln add "MyProject"
#Add Packages
dotnet add "MyProject" package Knowit.Umbraco.InstantBlockPreviewhuwred
07/31/2024, 10:37 AMDean Leigh
07/31/2024, 10:43 AMhuwred
07/31/2024, 11:18 AMKaspar Boel Kjeldsen
07/31/2024, 11:24 AMhuwred
07/31/2024, 11:24 AMKaspar Boel Kjeldsen
07/31/2024, 11:24 AMhuwred
07/31/2024, 11:25 AMKaspar Boel Kjeldsen
07/31/2024, 11:28 AMKaspar Boel Kjeldsen
07/31/2024, 11:36 AMhuwred
07/31/2024, 11:43 AM"injections": [ "<link href=\"~/css/myblockgridlayout.css\" rel=\"stylesheet\">", "<link href=\"~/css/prism.css\" rel=\"stylesheet\">" ],
but doesn't seem to be using themKaspar Boel Kjeldsen
07/31/2024, 11:44 AMKaspar Boel Kjeldsen
07/31/2024, 11:49 AMhuwred
07/31/2024, 11:53 AMKaspar Boel Kjeldsen
07/31/2024, 11:54 AMKaspar Boel Kjeldsen
07/31/2024, 12:08 PMhuwred
07/31/2024, 12:24 PMhuwred
07/31/2024, 12:25 PM"injections": [ "<script src=\"/scripts/prism.js\"></script>",
Kaspar Boel Kjeldsen
07/31/2024, 12:41 PMhuwred
07/31/2024, 12:48 PMAaron Sawyer
08/01/2024, 12:47 AMKaspar Boel Kjeldsen
08/01/2024, 7:44 AMKaspar Boel Kjeldsen
08/01/2024, 8:06 AMhuwred
08/01/2024, 8:34 AMhuwred
08/01/2024, 9:05 AMSyntaxError: "undefined" is not valid JSON
on pages with the blockgridhuwred
08/01/2024, 3:45 PMDean Leigh
08/01/2024, 4:41 PMhuwred
08/01/2024, 7:59 PMKaspar Boel Kjeldsen
08/02/2024, 6:48 AMrazor
@if (ViewBag.blockPreview != null)
{
<script src="~/mysuperspecificscrip.js" />
}
Kaspar Boel Kjeldsen
08/02/2024, 6:48 AMhuwred
08/02/2024, 6:50 AMKaspar Boel Kjeldsen
08/02/2024, 6:53 AMhuwred
08/02/2024, 7:19 AMhuwred
08/02/2024, 10:34 AMKaspar Boel Kjeldsen
08/02/2024, 11:38 AMhuwred
08/02/2024, 11:50 AMKaspar Boel Kjeldsen
08/05/2024, 10:16 AMhuwred
08/05/2024, 10:31 AMhuwred
08/05/2024, 12:34 PMmehdimiah_
08/09/2024, 11:27 AMhuwred
08/09/2024, 11:38 AMmehdimiah_
08/09/2024, 11:40 AMhuwred
08/09/2024, 11:43 AM@ViewBag.renderGridAreaSlots
mehdimiah_
08/09/2024, 11:45 AMhuwred
08/09/2024, 11:46 AMmehdimiah_
08/09/2024, 12:21 PMhuwred
08/09/2024, 12:33 PMmehdimiah_
08/09/2024, 1:27 PMhuwred
08/09/2024, 1:43 PMhuwred
08/09/2024, 6:26 PM"Knowit.Umbraco.InstantBlockPreview": {
"areaReplace": "true"
}
Kaspar Boel Kjeldsen
08/12/2024, 6:11 AMjson
"Knowit.Umbraco.InstantBlockPreview": {
"areaReplace": true
}
Kaspar Boel Kjeldsen
08/12/2024, 6:12 AMjson
"Knowit.Umbraco.InstantBlockPreview": {
"debug": true
}
Then you should find rendering errors (which is looks like) in your logs in Umbraco.
The plugin defaults to rendering something that looks like a default block beam in Umbraco when something fails - admittedly that looks a bit silly for an area.Kaspar Boel Kjeldsen
08/12/2024, 6:33 AMmehdimiah_
08/12/2024, 8:27 AMmehdimiah_
08/12/2024, 8:28 AMKaspar Boel Kjeldsen
08/12/2024, 8:30 AMhuwred
08/12/2024, 8:30 AMKaspar Boel Kjeldsen
08/12/2024, 8:30 AMmehdimiah_
08/12/2024, 8:31 AMmehdimiah_
08/12/2024, 8:32 AMKaspar Boel Kjeldsen
08/12/2024, 8:35 AMjson
{
"$schema": "appsettings-schema.json",
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information",
"System": "Warning"
}
}
},
"Umbraco": {
"CMS": {
"ModelsBuilder": { "ModelsMode": "SourceCodeAuto" },
"Global": {
"Id": "6bdde895-2aee-465d-8f2e-1fc79309c6ee",
"SanitizeTinyMce": true
},
"Content": {
"AllowEditInvariantFromNonDefault": true,
"ContentVersionCleanupPolicy": {
"EnableCleanup": true
}
},
"Unattended": {
"UpgradeUnattended": true
},
"Security": {
"AllowConcurrentLogins": false
}
}
},
"Knowit.Umbraco.InstantBlockPreview": {
"areaReplace": true
}
}
This is the minimal config of Umbraco 14.1 I'm using to test itmehdimiah_
08/12/2024, 8:42 AMKaspar Boel Kjeldsen
08/12/2024, 8:52 AMKaspar Boel Kjeldsen
08/12/2024, 8:53 AM